package cn.iocoder.idata.module.idata.dal.mysql.datacategory;

import cn.iocoder.idata.framework.common.pojo.PageResult;
import cn.iocoder.idata.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.idata.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.idata.module.idata.controller.admin.datacategory.vo.DataCategoryExportReqVO;
import cn.iocoder.idata.module.idata.controller.admin.datacategory.vo.DataCategoryPageReqVO;
import cn.iocoder.idata.module.idata.dal.dataobject.datacategory.DataCategoryDO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 数据类型信息 Mapper
 *
 * @author 智数源码
 */
@Mapper
public interface DataCategoryMapper extends BaseMapperX<DataCategoryDO> {

    default PageResult<DataCategoryDO> selectPage(DataCategoryPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<DataCategoryDO>()
                .eqIfPresent(DataCategoryDO::getId, reqVO.getId())
                .eqIfPresent(DataCategoryDO::getCategory, reqVO.getCategory())
                .eqIfPresent(DataCategoryDO::getRemark, reqVO.getRemark())
                .orderByDesc(DataCategoryDO::getId));
    }

    default List<DataCategoryDO> selectList(DataCategoryExportReqVO reqVO) {
        return selectList(new LambdaQueryWrapperX<DataCategoryDO>()
                .eqIfPresent(DataCategoryDO::getId, reqVO.getId())
                .eqIfPresent(DataCategoryDO::getCategory, reqVO.getCategory())
                .eqIfPresent(DataCategoryDO::getRemark, reqVO.getRemark())
                .orderByDesc(DataCategoryDO::getId));
    }

}
